package com.huang.A03_ArrayList;

import java.util.ArrayList;

/**
 目标：
 掌握从容器中找出某些数据并成功删除的技巧
 需求：现在购物车中存储了如下商品：java入门，宁夏枸杞，黑枸杞
 人字拖，特级枸杞，枸杞子。现在用户不想买枸杞了，选择了批量删除
 请完成该需求
 */
public class Demo2 {
    public static void main(String[] args) {
        //1.后台使用ArrayList集合表示购物车，存储这些商品名
        ArrayList<String> list = new ArrayList<>();
        list.add("java入门");
        list.add("宁夏枸杞");
        list.add("黑枸杞");
        list.add("人字拖");
        list.add("特级枸杞");
        list.add("枸杞子");
        //2.遍历集合中的每一个数据，只要这个数据包含了“枸杞”
        //就删除它

        /*//public int size()：返回集合中元素的个数
        for (int i = 0; i < list.size(); i++) {
            //public E get(int index)
            //返回指定索引处的元素
            String e = list.get(i);
            //包含“枸杞” 就删除
            //public boolean contains(CharSequence s)
            //判断字符串中是否包含了某个字符串
            if (e.contains("枸杞")) {
                //public boolean remove(Object o)
                //删除指定的元素，返回删除是否成功
                list.remove(e);
                //索引值i-1
                i--;
            }
        }*/
        //倒着遍历
        for (int i = list.size() - 1; i >= 0; i--) {
            //public E get(int index)
            //返回指定索引处的元素
            String e = list.get(i);
            //包含“枸杞” 就删除
            //public boolean contains(CharSequence s)
            //判断字符串中是否包含了某个字符串
            if (e.contains("枸杞")) {
                //public boolean remove(Object o)
                //删除指定的元素，返回删除是否成功
                list.remove(e);
            }
        }
        //3.输出集合看是否已经成功删除了全部枸杞数据了
        System.out.println(list);
    }
}